#pragma once
#include "HgeHelper.h"
#include <hgegui.h>
#include "GameData.h"
#include <hgeguictrls.h>
#include "BaseScreen.h"
class GameManager
{
public:
	GameManager(hgeFont* font);
	virtual ~GameManager();

	bool Update(float fDeltaTime);
	bool Render();

	bool RestoreFunc();

	void Load();
	void Save();

private:
	
	hgeFont* pFont;
	hgeGUI* hGui;
	GameData* gameData;
	int guiId;
	BaseScreen* pScreens[5];
	float incomeTimer, exploreTimer, candycaneTimer, m_raindeerUpkeepTimer, m_raindeerBreedTimer;
	int exploreTrigger, produceTrigger, candyTrigger, m_raindeerUpkeepTrigger, m_raindeerBreedTrigger;
	float production;

	bool result, m_win;

	HTEXTURE backgroundTexture;
	hgeSprite* backgroundSprite, *m_winSprite;

private:
	bool UpdateGUI(float fDeltaTime);
	void UpdateInput(float fDeltaTime);
	void UpdateTimers(float fDeltaTime);
	void CheckTriggers(float fDeltaTime);
	void UpdateGameDataMembers();
};